What is @hapi/boom?
The @hapi/boom npm package is a utility for returning HTTP-friendly error objects. It provides a set of utilities for returning HTTP errors. Each utility returns a Boom error response object, which includes the following properties: statusCode, error, message, and a constructor that can be used to create a new error.
What are @hapi/boom's main functionalities?
Creating HTTP error objects
This feature allows you to create error objects that are appropriate for HTTP responses. For example, you can create a 404 error when a resource is not found.
{"statusCode": 404, "error": "Not Found", "message": "Cannot find the specified resource"}
Decorating error objects
This feature allows you to add additional information to the error object, such as validation details or other context-specific data.
{"statusCode": 400, "error": "Bad Request", "message": "Invalid request payload input", "data": { "details": [ {"message": "'value' is not allowed"} ] }}
Custom error messages
This feature allows you to specify a custom message for the error object, which can be more descriptive and helpful for debugging.
{"statusCode": 400, "error": "Bad Request", "message": "Custom error message"}
Other packages similar to @hapi/boom
http-errors
Similar to @hapi/boom, http-errors is a package for creating HTTP error objects. It is less feature-rich compared to @hapi/boom, which provides more utilities and options for error handling.
api-error-handler
This package is an express middleware for handling API errors. It is similar to @hapi/boom in that it helps manage errors in HTTP context, but it is specifically tailored for Express applications and not as flexible for other contexts.